/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fincas;
import fincas.Finca;
import java.util.Scanner;
import fincas.Cercado;

/**
 *
 * @author diego
 */
public class aplicaciones {
    
     public static void main(String[] args) {
     
         Scanner teclado = new Scanner(System.in);//nuevo objeto de la clase scanner
         teclado.useDelimiter("\n");//delimita los espacios de Scanner 
         String nombre;//variable local que guada informacion del nombr
         System.out.println("Introduzca nombre: ");//impresion en pantalla para introducir nombre
         nombre = teclado.next();//hace que tengamos que introducir el nombre por tecaldo
         String cod;//variable local que guarda informacion del cod
         System.out.println("Introduzca codigo: ");//impresion en pantalla introducir codigo
         cod = teclado.next();//hace que tengamos que introducir el codigo en pantalla
         float ancho1;//variable local para guardar longitud de ancho
         System.out.println("Introduzca ancho: ");//impresion en pantalla
         ancho1 = teclado.nextFloat();//introducir por teclado el ancho
         float largo1;//variable local para guardar longitud de largo
         System.out.println("Introduzca largo: ");//impresion en pantalla
         largo1 = teclado.nextFloat();//introducir poe teclado el largo de la finca
         Finca p; //declarar nueva finca 
         p = new Finca(ancho1, largo1,nombre,cod); //crear objeto de la calse finca
         Cercado miCercado = new Cercado(5);
         System.out.println("El precio de cercar la finca con el cerdado de "+miCercado.getTipo());
         System.out.println("Precio:" +miCercado.precio(p.perimetro()));
         p.area();//area de finca 
         p.perimetro();//peimtro de finca 
         p.getAncho();//devuelve el ancho de la finca
         p.getLargo();//devuelve el largo de la finca
         p.visuDatos();//visualizamos datos de la finca
       
         System.out.println("Introduzca nombre: ");//impresion en pantalla para introducir nombre
         nombre = teclado.next();//hace que tengamos que introducir el nombre por tecaldo
         System.out.println("Introduzca codigo: ");//impresion en pantalla introducir codigo
         cod = teclado.next();//hace que tengamos que introducir el codigo en pantalla
         System.out.println("Introduca ancho: ");//impresion en pantalla
         ancho1 = teclado.nextFloat();//introducir por teclado el ancho
         System.out.println("Introduzca largo: ");//impresion en pantalla
         largo1 = teclado.nextFloat();//variable local para guardar longitud de largo
         Finca h;
         h = new Finca(ancho1,largo1, nombre,cod);
         Cercado miCercado2 = new Cercado(5);
         System.out.println("El precio de cercar la finca con el cerdado de "+miCercado2.getTipo());
         System.out.println("Precio:" +miCercado2.precio(h.perimetro()));
         h.area();//area de finca 
         h.perimetro();//peimtro de finca 
         h.getAncho();//devuelve el ancho de la finca
         h.getLargo();//devuelve el largo de la finca
         h.visuDatos();//visualizamos datos de la finca
        
         System.out.println("Introduzca nombre: ");//impresion en pantalla para introducir nombre
         nombre = teclado.next();//hace que tengamos que introducir el nombre por tecaldo
         System.out.println("Introduzca codigo: ");//impresion en pantalla introducir codigo
         cod = teclado.next();//hace que tengamos que introducir el codigo en pantalla
         System.out.println("Introduzca ancho: ");//impresion en pantalla
         ancho1 = teclado.nextFloat();//introducir por teclado el ancho
         System.out.println("Introduzca largo: ");//impresion en pantalla
         largo1 = teclado.nextFloat();//variable local para guardar longitud de largo
         Finca z;//declarar
         z = new Finca(ancho1,largo1, nombre,cod);//crear nuevo obejeto de la clase finca
         Cercado miCercado3 = new Cercado(5);
         System.out.println("El precio de cercar la finca con el cerdado de "+miCercado3.getTipo());
         System.out.println("Precio:" +miCercado3.precio(z.perimetro()));
         z.area();//area de finca 
         z.perimetro();//peimtro de finca 
         z.getAncho();//devuelve el ancho de la finca
         z.getLargo();//devuelve el largo de la finca
         z.visuDatos();//visualizamos datos de la finca
         
         //area total y perimetro total 
         float areaTotal = 0;//variable local para guardar area total
         areaTotal = p.area()+h.area()+z.area();//area total
         float permietroTotal = 0;//variable local para guardar perimetro total
         permietroTotal = p.perimetro()+h.perimetro()+z.perimetro();//perimetro total
         System.out.println("total perimetro fincas: " +permietroTotal+ "\n");//impresion en pantalla del perimetro total de la finca
         System.out.println("total area de fincas: " +areaTotal+"\n");//impresion en pantalla del area total de la finca
         System.out.println("***cada finca un cercado**"+"\n");//impresion en pantalla 
         System.out.println("**cada usuario elige un cercado**"+"\n");//imrpesion en pantalla
         
         int tipo1;
         System.out.println("Elija un tipo de cercado: ");//impresion en pantalla
         tipo1 = teclado.nextInt();//meter por tecaldo el tipo 
         Cercado usuarioCercado = new Cercado(+tipo1);//nuevo obejteto de la clase cercado
         float coste1 = usuarioCercado.precio(p.perimetro());//variable local guarda calculo del precio de cercar 
         System.out.println("\n"+"El precio de cercar la pimera finca es: "+coste1+"\n");//impresion en pantalla de el coste de cercar la finca
         
         int tipo2;
         System.out.println("Elija un tipo de cercado: ");//impresion en pantalla
         tipo2 = teclado.nextInt();//meter por tecaldo el tipo 
         Cercado usuarioCercado2 = new Cercado(+tipo2);//nuevo obejteto de la clase cercado
          float coste2 = usuarioCercado2.precio(h.perimetro());//variable local guarda calculo del precio de cercar 
         System.out.println("\n"+"El precio de cercar la segunda finca es: "+coste2+"\n" );//impresion en pantalla de el coste de cercar la finca
         
         int tipo3;
         System.out.println("Elija un tipo de cercado: ");//impresion en pantalla
         tipo3 = teclado.nextInt();//meter por tecaldo el tipo 
         Cercado usuarioCercado3 = new Cercado(+tipo3);//nuevo obejteto de la clase cercado
         float coste3 = usuarioCercado3.precio(z.perimetro());//variable local guarda calculo del precio de cercar 
         System.out.println("\n"+"El precio de cercar la tercera finca es: "+coste3+"\n");//impresion en pantalla de el coste de cercar la finca
         //calcular cual de las fincas es la mas cara 
         if((coste1 > coste2) && (coste1 > coste3))
         {
             System.out.println("La primera finca es la mas cara"+"\n");
         }
         else if((coste2 > coste3) && (coste2 > coste1))
         {
             System.out.println("La segunda finca es la mas cara"+"\n");
         }
         else if((coste3 > coste1) && (coste3 > coste2))
         {
            System.out.println("La tercera finca es la mas cara"+"\n");
         }
         else{
            System.out.println("hay mas de una finca que es la mas cara"+"\n");
         }
             
         //calcular cual de las fincas es la mas barata
         if((coste1 < coste2) && (coste1 < coste3))
         {
             System.out.println("La primera finca es la mas barta"+"\n");
         }
         else if((coste2 < coste3) && (coste2 < coste1))
         {
             System.out.println("La segunda finca es la mas barta"+"\n");
         }
         else if((coste3 < coste1) && (coste3 < coste2))
         {
            System.out.println("La tercera finca es la mas barta"+"\n");
         }
         else{
             System.out.println("hay mas de una finca que es la mas barata"+"\n");
         }
                 
         
         
     }
}
        
